
package com.hlkj.pay.gateway.profit;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.dto.merchant.fund.MerchantFundAccountBindDto;
import com.hlkj.pay.dto.merchant.fund.MerchantFundAccountDto;
import com.hlkj.pay.dto.merchant.fund.ProfitAccountResultDto;

/**
 * 分润账号
 * 
 * @author HlpayTeam
 * @date 2024/11/07 11:04
 */
public interface IChannelProfitAccountGateway {

    /**
     * 通道实现校验
     *
     * @param channelCode
     * @return
     */
    boolean extensionExist(String channelCode);

    /**
     * 提交分账
     * 
     * @param merchantFundAccountDto
     * @return
     */
    CommonResult<ProfitAccountResultDto> submitProfitAccount(MerchantFundAccountDto merchantFundAccountDto);
    /**
     *
     * @param merchantFundAccountDto
     * @return
     */
    CommonResult<ProfitAccountResultDto> updateProfitAccount(MerchantFundAccountDto merchantFundAccountDto);
    /**
     * 分账查询
     * 
     * @param merchantFundAccountBindDto
     * @return
     */
    CommonResult<ProfitAccountResultDto> bindProfitAccount(MerchantFundAccountBindDto merchantFundAccountBindDto);

    /**
     * 提交分账
     *
     * @param merchantFundAccountBindDto
     * @return
     */
    CommonResult<ProfitAccountResultDto> unBindProfitAccount(MerchantFundAccountBindDto merchantFundAccountBindDto);

    /**
     *
     * @param mchChannelCode
     */

    void queryAccountBindList(String mchChannelCode);
}
